您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种支持有效域区分的无线传感器网络多径路由机制

  • 申请号:CN200910088730.0 申请公布号: CN101610561A
  • 申请日: 2009-07-10 申请公布日: 2009-12-23
  • 申请(专利权)人: 专利代理机构: 北京正理专利代理有限公司
  • 分类号:H04W40/02;H04W84/18

专利介绍

本发明涉及一种支持有效域区分的无线传感器网络多径路由机制,包含节点通过信息交互,得到邻居节点信息,建立邻居节点表;目的节点缓存多条路由请求信息,选择性能最好的进行路由回复;路由回复消息绕过无效域,并通过邻居表交互机制建立多路径路由的最大不相交。采用支持有效域区分的采用多径路由机制,通过邻居表交互机制建立最大不相交多路径路由,并引入有效域与无效域的概念,避免无效域中不可靠节点参与数据传输,增强了数据传输的可靠性、稳定性,并通过多路径负载均衡,提高了网络的生存时间。1、一种支持有效域区分的无线传感器网络多径路由机制,其特征在于: 包括如下步骤: 1)节点初始化,向周围一跳节点广播HELLO消息; 2)节点收到HELLO消息,将HELLO消息源节点地址加到邻居节点表; 3)源节点采集到数据,要向目的节点发送数据时,查询路由表,发现 无达到目的节点的路由表项,广播一个路由请求消息; 4)中间节点收到路由请求消息,首先检测自己是否是无效节点,若为 无效节点则直接丢弃路由请求消息,若不是无效节点,则继续广播路由请求 消息; 5)目的节点收到各个节点来的路由请求消息,进行比较,选择至少2 条性能最好的路径存到路由请求表缓存,然后发送2条路由回复消息; 6)中间节点收到第一个路由回复消,给路由表项设上标志,表示自己 已经是路径上的一个转发节点; 7)如果节点再次收到到达相同源节点的路由回复消,则启动邻居表交 互机制,查找跟上一跳节点共同的邻居,设为下一跳节点,第二条路由回复 消继续传播; 8)源节点收到路由回复消之后则随机选择一条路由发送数据。 2、如权利要求1所述的一种支持有效域区分的无线传感器网络多径路 由机制,其特征在于:所述的启动邻居表交互机制步骤为: 1)给第二条路径它的上一跳节点H发送邻居表通告消息; 2)H查找自己的邻居表,找出一个两节点共用的邻居节点I,并给I发 送缓存的路由回复消息; 3)节点I查找到源节点的反向路由,如果有路由信息且I不是第一条路 径上的节点,则转发路由回复消息到路由的下一跳节点G,并且给节点H发 送ACK包;如果没有路由即节点H没有收到ACK,则节点H选择另外一个共 用节点重复以上的操作; 4)H发现和节点C没有共用节点,或者它们的共用节点都没有到源节点 的路由,则节点C为两条路径的关键节点,第二条路径必需通过节点C;节 点H则给C发送一个NO消息,路由回复消息沿着C继续转发,直到源节点。 3、如权利要求1所述的一种支持有效域区分的无线传感器网络多径路 由机制,其特征在于:源节点收到路由回复消息后,当网络中出现无效区域 时,进一步包括: 1)节点成为无效节点后,给邻居节点发送一个邻居节点删除消息,节点 收到此消息后,删除邻居节点表的地址信息,同时检查自己的邻居节点数, 如果只有一个,则给自己也设上无效节点标志,并且发送邻居节点删除消息; 2)节点收到邻居节点删除消息后,删除相关的路由信息; 3)节点收到路由回复消息后,发现没有到源节点的路由,则选择一个邻 居节点作为下一跳缓存并转发路由回复消息; 4)若邻居节点有到源节点的路由,则给当前节点发送一个ACK,节点收 到确认消息ACK后,删除缓存里的路由回复消息,若没有收到ACK,节点在 等待一段时间后,重新选择一个邻居节点,再次转发路由回复消息。 技术领域 本发明涉及一种无线传感器网络多路径路由机制的实现方法,具体来 说,特别是涉及一种支持有效域区分的无线传感器网络多径路由机制,属于 计算机网络技术领域。 背景技术 路由协议是无线传感器网络研究领域核心技术之一,路由协议的性能和 整个网络的性能密切相关。与传统网络的路由协议相比,无线传感器网络的 路由协议具有以下特点:能量优先、基于局部拓扑信息、以数据为中心、应 用相关。针对传感器网络路由机制的上述特点,在根据具体应用设计路由机 制时,要使传感器网络路由协议满足能量高效、扩展性好、鲁棒性好和可以 快速收敛的特点。 在无线传感器网络的某些应用对通信的服务质量有较高要求,如可靠性 和实时性等,然而在无线传感器网络中,链路的稳定性难以保证,拓扑变化 比较频繁,要实现服务质量保证,需要设计相应的可靠的路由协议。 目前无线传感器网络的路由协议,大多从传感器节点资源受限,节省能 量的角度考虑,采用单路径单播数据转发机制,即根据能量消耗、跳数等衡 量指标选择一条相对最优路径进行数据发送。然而采用单路径路由协议,有 以下缺点: 1、延时较大。单路径传输,由于传输带宽有限,因此延时较大,无法 适用于时延要求低的应用场景; 2、稳定性较差。由于无线链路的不稳定,单路径路由由于拓扑的变化 不得不重新建立,稳定性较差,这也是单路径传输时延较大的一个重要因素。 3、负载均衡性不好。采用单路径路由很容易造成一条路径的使用过密, 从而导致部分节点能量过早耗尽,减少了网络最大生存时间。 多路径路由克服了单路径路由上述的缺点,具有单路径路由无法比拟的 优势,因此,多路径路由算法的研究越来越引起人们的重视。按照路径相交 原则分为多路径路由可以分为交织多路径和不相交多路径,其中根据不相交 的对象不相交多路径可以分为两种:节点不相交和链路不相交。节点不相交 实际上是保证了各条链路的各自独立,互不影响,所以使用节点不相交路由 更为合适。但是,节点不相交的条件比链路不相交的条件苛刻得多,因此节 点不相交路由最少,也很难寻找。特别是在节点间距离增大的时候,节点不 相交路由更少,因此需要在多种多路径方式中进行考虑,从数据传输可靠性、 负载均衡以及传输时延的角度建立多路径路由协议。 目前已有很多关于多路径路由的研究,然而目前的多路径路由协议,大 都是从负载均衡以及能量有效的角度考虑,并没有考虑到传感器网络实际应 用中无效域的存在。在无线传感器网络中,由于节点分布不均匀以及能量消 耗的不均衡,经常会出现能量空洞、数据拥塞区、覆盖盲区等数据传输不可 靠的无效区域。传统的多路径路由协议,并没有考虑这些导致数据传输不可 靠因素,因此也就不能保证数据传输的准确和及时性。因此,如何在考虑负 载均衡及能量有效前提下,设计保证数据传输可靠、时延最小的数据路由协 议,成为无线传感器网络多路径路由需要解决的关键问题。 发明内容 本发明的目的在于改进上述现有技术中的不足而提供一种支持有效域区 分的无线传感器网络多径路由机制。能够在数据传输的稳定性和负载均衡、 能量消耗均衡等方面同原单路径路由相比具有一定的优势。本发明解决了由 于无效域的存在而导致数据传输不可靠的问题,建立多路径路由机制绕过无 效区域,从而提高数据传输的稳定性。 本发明的目的通过以下措施来达到: 一种支持有效域区分的无线传感器网络多径路由机制,包括如下步骤: 1)节点初始化,向周围一跳节点广播HELLO消息; 2)节点收到HELLO消息,将HELLO消息源节点地址加到邻居节点表; 3)源节点采集到数据,要向目的节点发送数据时,查询路由表,发现 无达到目的节点的路由表项,广播一个路由请求消息; 4)中间节点收到路由请求消息,首先检测自己是否是无效节点,若为 无效节点则直接丢弃路由请求消息,若不是无效节点,则继续广播路由请求 消息; 5)目的节点收到各个节点来的路由请求消息,进行比较,选择至少2 条性能最好的路径存到路由请求表缓存,然后发送2条路由回复消息; 6)中间节点收到第一个路由回复消,给路由表项设上标志,表示自己 已经是路径上的一个转发节点; 7)如果节点再次收到到达相同源节点的路由回复消,则启动邻居表交 互机制,查找跟上一跳节点共同的邻居,设为下一跳节点,第二条路由回复 消继续传播; 8)源节点收到路由回复消之后则随机选择一条路由发送数据。 其中启动邻居表交互机制步骤为: 1)给第二条路径它的上一跳节点H发送邻居表通告消息; 2)H查找自己的邻居表,找出一个两节点共用的邻居节点I,并给I发 送缓存的路由回复消息; 3)节点I查找到源节点的反向路由,如果有路由信息且I不是第一条路 径上的节点,则转发路由回复消息到路由的下一跳节点G,并且给节点H发 送ACK包;如果没有路由即节点H没有收到ACK,则节点H选择另外一个共 用节点重复以上的操作; 4)H发现和节点C没有共用节点,或者它们的共用节点都没有到源节点 的路由,则节点C为两条路径的关键节点,第二条路径必需通过节点C。节 点H则给C发送一个NO消息,路由回复消息沿着C继续转发,直到源节点。 源节点收到路由回复消息后,当网络中出现无效区域时,进一步包括: 1)节点成为无效节点后,给邻居节点发送一个邻居节点删除消息,节点 收到此消息后,删除邻居节点表的地址信息,同时检查自己的邻居节点数, 如果只有一个,则给自己也设上无效节点标志,并且发送邻居节点删除消息; 2)节点收到邻居节点删除消息后,删除相关的路由信息; 3)节点收到路由回复消息后,发现没有到源节点的路由,则选择一个邻 居节点作为下一跳缓存并转发路由回复消息。 4)若邻居节点有到源节点的路由,则给当前节点发送一个ACK。节点收 到确认消息ACK后,删除缓存里的路由回复消息,若没有收到ACK,节点在 等待一段时间后,重新选择一个邻居节点,再次转发路由回复消息 本发明的优点在于: 采用支持有效域区分的采用多径路由机制,通过邻居表交互机制建立最 大不相交多路径路由,并引入有效域与无效域的概念,避免无效域中不可靠 节点参与数据传输,增强了数据传输的可靠性、稳定性,并通过多路径负载 均衡,提高了网络的生存时间。 附图说明 图1是本发明HELLO消息的结构示意图; 图2是本发明路由请求消息RREQ的结构示意图; 图3是本发明路由回复消息RREP的结构示意图; 图4是本发明路由表的结构示意图; 图5是本发明邻居表的结构示意图; 图6是本发明邻居表通告消息NTAP的结构示意图; 图7是本发明邻居节点删除消息NNDP的结构示意图; 图8是本发明多路径绕过无效区域的网络模型图; 图9是本发明提供的路由机制的主要流程图; 图10为本发明的邻居表交互机制示意图; 图11是本发明中在路由回复阶段出现无效域的流程图。 具体实施方式 本发明首先定义了无效域和无效节点。在无线传感器网络的实际应用 中,网络中的部分区域很有可能由于能量空洞、数据拥塞、覆盖盲区等使得 这个区域传输数据不再可靠,我们定义这种不可靠的区域为无效域,否则就 为有效域。 无效节点分为两类:一类是在无效区域里的节点,在出现灾难,能量耗 尽,拥塞等情况后,节点直接宣布为无效节点;另一类是处于无效域边界的 节点,其邻居节点有且仅有一个,当收到从邻居节点来的分组时,无法继续 转发分组,这样也是无效节点。 一种支持有效域区分的无线传感器网络多路径路由机制,包含节点通过 信息交互,得到邻居节点信息,建立邻居节点表;目的节点缓存多条路由请 求信息,选择性能最好的进行路由回复;路由回复消息绕过无效域,并通过 邻居表交互机制建立多路径路由的最大不相交。 目的节点缓存多条路由请求消息,进一步包含:按需缓存性能最好的多 跳路由,可以从跳数最小、剩余能量最大等多种方面考虑,从而按需建立多 种需求的多路径路由。 图8是本发明多路径的网络模型图,图中高密度的传感器节点在网络中 监测环境,网络运行一段时间后出现无效区域,多路径能绕过无效区域到达 目的节点。进一步包含: 1、节点A、B、C等无效域周围的节点通过自己的负载强度、剩余能量 以及监测数据判断自己为无效节点,并发送邻居节点删除信息; 2、节点E、F、G等节点收到邻居节点删除消息后,清除无效节点A、B、 C等节点的有效标志位,并删除相关的路由信息,禁止无效节点参与数据转 发,同时检查自己的邻居节点数,如果只有一个,则给自己也设上无效节点 标志,并且发送邻居节点删除消息; 3、节点I收到节点H发来的路由回复消息后,发现有到源节点的路由, 则继续转发路由回复消息,同时发送一个确认消息ACK给节点H; 4、节点H收到确认消息后,删除缓存里的路由回复消息,若没有收到 确认消息,节点在等待一段时间后,重新选择一个邻居节点如节点L,再次 转发路由回复消息; 5、在路由建立过程中,若中间某个节点发现所有的邻居节点都没有到 源节点的路由时,通告目的节点这条路由无效,目的节点重新选择一条路由, 再次发送路由回复消息。 邻居表交互机制包含:节点发现自己已经转发过路由回复消息,为了实 现多路径路由的最大不相交,向上行节点通告自己的邻居表,上行节点通过 比较自己邻居表选择其中一个公共邻居节点转发路由回复消息,公共节点查 找是否有到源节点的路由,如果有则转发路由回复消息,如果没有则选择下 一个公共节点;如果没有公共的邻居节点,或所有公共节点没有到源节点的 路由,此时节点继续转发第二条路径的路由回复消息,以此尽可能建立不相 交的多路径路由。 图9是本发明提供的路由机制的主要流程图,主要步骤如下: 1、节点初始化,向周围一跳节点广播HELLO消息;图1为HELLO消息 的结构示意图; 2、节点收到HELLO消息,将HELLO消息源节点地址加到邻居节点表; 3、源节点采集到数据,要向目的节点发送数据时,查询路由表,发现 无达到目的节点的路由表项,广播一个路由请求消息(Routexa0Request, RREQ),图2为路由请求消息RREQ的结构示意图; 4、中间节点收到RREQ,首先检测自己是否是无效节点,若为无效节点 则直接丢弃RREQ,若不是无效节点,则继续广播RREQ; 5、目的节点收到各个节点来的RREQ,进行比较,选择2(至少两条) 条性能最好的路径存到路由请求表缓存,然后发送2条路由回复消息(Route Reply,RREP),图3为路由回复消息的结构示意图; 6、中间节点收到第一个RREP,给路由表项设上标志,表示自己已经是 路径上的一个转发节点,图4为路由表的结构示意图; 7、如果节点再次收到到达相同源节点的RREP,则启动邻居表交互机制, 查找跟上一跳节点共同的邻居,设为下一跳节点,第二条RREP继续传播, 图5为邻居表结构示意图; 8、源节点收到RREP之后则随机选择一条路由发送数据。 图10是邻居节点表交互机制示意图,节点C发现自己是两条路径的共 用节点,启动邻居表交互机制,步骤如下: 1、给第二条路径它的上一跳节点H发送邻居表通告消息(Neighbor Tablexa0Advertisementxa0Packet,NTAP),图6为邻居表通告消息NTAP结构 示意图; 2、H查找自己的邻居表,找出一个两节点共用的邻居节点I,并给I发 送缓存的RREP; 3、节点I查找到源节点的反向路由,如果有路由信息且I不是第一条 路径上的节点,则转发RREP到路由的下一跳节点G,并且给节点H发送ACK 包;如果没有路由即节点H没有收到ACK,则节点H选择另外一个共用节点 重复以上的操作; 4、H发现和节点C没有共用节点,或者它们的共用节点都没有到源节 点的路由,则节点C为两条路径的关键节点,第二条路径必需通过节点C。 节点H则给C发送一个NO消息,RREP沿着C继续转发,直到源节点。 考虑到当多路径已经确定后,在RREP转到源节点的阶段,网络中可能 会出现无效区域。图11给出了在路由回复阶段出现无效域的流程图。主要 步骤如下: 1、节点成为无效节点后,给邻居节点发送一个邻居节点删除消息 (Neighborxa0Nodexa0Deletexa0Packet,NNDP),节点收到此消息后,删除邻居节 点表的地址信息,同时检查自己的邻居节点数,如果只有一个,则给自己也 设上无效节点标志,并且发送邻居节点删除消息,图7为邻居节点删除消息 NNDP结构示意图; 2、节点收到邻居节点删除消息后,删除相关的路由信息; 3、节点收到RREP后,发现没有到源节点的路由,则选择一个邻居节点 作为下一跳缓存并转发RREP。 4、若邻居节点有到源节点的路由,则给当前节点发送一个ACK。节点 收到确认消息ACK后,删除缓存里的RREP,若没有收到ACK,节点在等待一 段时间后,重新选择一个邻居节点,再次转发RREP。 若节点发现所有的邻居节点都没有到源节点的路由时,给目的节点发送 一个NO消息,表示这条路由已无效。目的节点重新选择一条路由,再发送 一个RREP。 如果网络中路由建立完成,当出现无效域时,有路径经过无效域。当源 节点发送数据到目的节点,到达无效域边缘的节点之后就无法找到路由,就 收不到来自目的节点的ACK。这时候源节点再次发起全网的路由查询,根据 上面的方法找到N条绕过无效域的路由。源节点收到RREP后重新发送数据。